Generating activities based upon social data

ABSTRACT

Technologies described herein relate to receiving data from a social networking application, wherein the data is generated by a first individual, and executing an entity extraction algorithm to extract at least one entity from the received data. A hyperlink is displayed on a computing device utilized by a second individual, wherein the hyperlink is based at least in part upon the at least one entity, and the hyperlink is configured to direct the first individual to a search engine and is further configured to cause the search engine to execute a search that pertains to the at least one entity.

RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.12/633,798, filed on Dec. 9, 2009, and entitled “GENERATING ACTIVITIESBASED UPON SOCIAL DATA”, the entirety of which is incorporated herein byreference.

BACKGROUND

Online social networking applications are becoming increasingly popular.People rely on such applications to keep in touch/interact with friendsand family. Typically, to utilize such an online social networkingapplication, an individual that logs into a web site that corresponds tothe application will be provided a visual depiction of messages sent tothe individual as well as status updates of contacts (friends) of theindividual. Other mechanisms for sharing information with contacts, suchas photographs and video, are also available on many online socialnetworking applications.

While these online social networking applications are useful tools thatallow people to interact with their contacts, oftentimes messagestransmitted using social networking applications are relatively shortwith little context associated therewith. Thus, an assumption existsthat an individual receiving a relatively short message will have someknowledge of what the sender of the message is referring to in themessage. In some cases, however, without context a message may bedifficult to comprehend by a reviewer of the message.

SUMMARY

The following is a brief summary of subject matter that is described ingreater detail herein. This summary is not intended to be limiting as tothe scope of the claims.

Described herein are various technologies pertaining to socialnetworking activities of an individual. More particularly, describedherein are various technologies pertaining to automatically providingactivities that may be of interest to a recipient of social networkingdata, which may include a message, a photograph, a video, etc. Anindividual may have an account with one or more social networkingapplications, which may be any suitable online social networkingapplication such as one where status updates can be shared, photographscan be shared, messages can be broadcast to “followers” of posters ofthe messages, an application that aggregates data from several socialnetworking applications, etc.

Content of the social networking data such as text of a message,location data pertaining to a photograph or video, tags assigned to thephotograph or video, etc. can be analyzed. Such analysis may includeextraction of one or more entities pertaining to the social networkingdata. For instance, a keyword may be extracted from the socialnetworking data and canonical meaning of such keyword can be ascertainedvia analyzing the contents of the social networking data and contextassociated therewith. In an example, the extracted keyword andassociated canonical meaning can be referred to herein as an entity.

The entity extracted from the content of the social networking data maybe compared with a plurality of predefined activities, wherein anactivity may be a suggested search, an invitation to perform aparticular task, a link to other information sources, etc. Based atleast in part upon such comparison, an activity from the list ofpredefined activities may be selected. In an example, such activity maybe represented by a hyperlink, wherein selection of such hyperlink cancause the activity to be undertaken. For instance, selection of suchhyperlink directs the individual to a search engine and causes thesearch engine to perform a search pertaining to the activity or provideinformation pertaining to the activity, including directing theindividual to a list of products that may be purchased, displaying a mapof a region pertaining to the message, etc. Furthermore, each activitymay have one or more template phrases associated therewith that can beutilized to present an understandable representation of the activity toan individual. Example activities represented through utilization oftemplate phrases may include a suggestion such as “learn more about_(——————),” “show _(——————) on a map,” “buy tickets to see _(——————),”“shop for _(——————),” “do you know how tall _(——————) is,” etc.

When selecting an activity from a plurality of different activities,such activities can be ranked according to any suitable criteria. Forinstance, the criteria may include closeness of a match between anentity extracted from social networking data and a predefined activity.Once the activity is selected the selected activity can be displayed inconjunction with the social networking data viewed by the individual.

As will be described in greater detail below, the social networking datamay include an image shared with the individual by a contact of suchindividual. Entities may be extracted from such image via image analysisand/or through analyzing metadata corresponding to the image (e.g., acaption assigned to the image by an owner of the image, location dataembedded in the image, tags assigned to the image, etc.). A suggestedactivity may be displayed in conjunction with the image (e.g., below theimage) and/or may be displayed when the user selects the image, such asby causing a mouse pointer to hover over the image.

Other aspects will be appreciated upon reading and understanding theattached figures and description.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram of an example system thatfacilitates providing an activity to an individual based at least inpart upon contents of social messaging data being viewed by theindividual.

FIG. 2 is a functional block diagram of an example system thatfacilitates provision of activities based upon social messaging data.

FIG. 3 is a functional block diagram of an example system thatfacilitates display of social networking data in conjunction with webcontent being viewed by an individual.

FIG. 4 is a functional block diagram of an example system thatfacilitates automatically generating a collage of images.

FIG. 5 is a functional block diagram of an example system thatfacilitates extracting an entity from social networking data.

FIG. 6 is an example graphical user interface that facilitatesdisplaying an activity in conjunction with a relatively short socialnetworking message received by an individual.

FIG. 7 is an example graphical user interface that displays datapertaining to an image and an activity associated with the image upon anindividual selecting such image.

FIG. 8 illustrates an example collage that comprises images shared withan individual by social networking contacts of the individual.

FIG. 9 is an example graphical user interface that depicts content in aweb page that is in some way related to social networking data receivedby the individual.

FIG. 10 is an example graphical user interface that displays a socialnetworking message to an individual when such individual selects contenton a web page that is related to the social networking message.

FIG. 11 is a flow diagram that illustrates an example methodology forautomatically selecting an activity from a predefined list of activitiesbased at least in part upon social networking data received by anindividual.

FIG. 12 is a flow diagram that illustrates an example methodology forcausing a plurality of photographs shared with an individual to bedisplayed as a collage.

FIG. 13 is a flow diagram that illustrates an example methodology forcausing a social networking message to be displayed in conjunction withrelated web content on a web page.

FIG. 14 is an example computing system.

DETAILED DESCRIPTION

Various technologies pertaining to automatically selecting and providingan activity to an individual that is somehow related to social messagingdata received by such individual will now be described with reference tothe drawings, where like reference numerals represent like elementsthroughout. In addition, several functional block diagrams of examplesystems are illustrated and described herein for purposes ofexplanation; however, it is to be understood that functionality that isdescribed as being carried out by certain system components may beperformed by multiple components. Similarly, for instance, a componentmay be configured to perform functionality that is described as beingcarried out by multiple components.

With reference to FIG. 1, an example system 100 that facilitatesselecting and providing an activity with respect to social networkingdata received by an individual is illustrated. The system 100 comprisesa client computing device 102 that is employed by an individual 104, forinstance, to browse the Internet through utilization of an Internetbrowser installed on the computing device 102. The computing device 102comprises a display 106 that can be utilized in connection withdisplaying web pages loaded by the browser to the individual 104. Asocial networking application 108 may be in communication with thecomputing device 102 by way of a network such as the Internet. Theindividual 104 may cause the client computing device 102 to transmituser authentication data to the social networking application 108, suchas a user name and password that correspond to the individual 104. Ofcourse, other types of user authentication data are contemplated andintended to fall under the scope of the hereto-appended claims.

A plurality of other individuals 110-112 may provide social networkingdata to the individual 104 by way of the social networking application108. As used herein, social networking data may refer to a messagetransmitted by one of the individuals 110-112 to the individual 104, astatus update of one of the individuals 110-112, an image desirablyshared with the individual 104 (posted by one of the individuals110-112), video desirably shared with the individual 104, etc.

Thus, the social networking application 108 may be an application thatfacilitates interaction amongst friends/colleagues such that one or moreof the individuals 110-112 may provide updates about themselves whichare automatically transmitted to a web page of the individual 104. Inanother example, the social networking application 108 may be aphotograph sharing application such that one of the individuals 110-112can upload a photograph and cause the photograph to be shared with theindividual 104 via the social networking application 108. In still yetanother example, the social networking application 108 may be a textbroadcasting application that is configured to broadcast a limitednumber of characters of text to subscribers of a transmitter of amessage. For instance, the individual 104 may choose to followbroadcasts made by the individual 110 and thus may receive the socialnetworking data via the social networking application 108 from theindividual 110. In still yet another example, the social networkingapplication 108 may be an enterprise-wide application, wherein contactsof the individual 104 can be defined by e-mail lists, project groupscorresponding to the individual 104, etc. and the social networking datamay be documents shared amongst members of a certain project group orteam, etc.

The system 100 further includes a receiver component 114 that receivessocial networking data from the social networking application 108,wherein the social networking data is authored or owned by one of theindividuals 110-112 and is intended for the individual 104. Pursuant toan example, the receiver component 114 can receive social networkingdata intended for the individual 104 when such individual providesauthentication data to the social networking application 108 throughutilization of the computing device 102. In another example, thereceiver component 114 can receive social networking data intended forthe individual 104 as soon as the social networking application 108receives such data.

An extractor component 116 can be in communication with the receivercomponent 114 and can analyze content of the social networking data andextract at least one entity based at least in part upon such analysis.In an example, the social networking data may comprise a message thatincludes text and the extractor component 116 can be configured toextract at least one keyword from such text. Based at least in part uponthe keyword and context associated with such keyword, the extractorcomponent 116 can ascertain a canonical meaning of the keyword. Thekeyword together with the canonical meaning can be referred to herein asan entity. In another example, the social networking data may include animage. In such a case, the extractor component 116 can analyze datacorresponding to the image such as a title of the image, a captionprovided to the image, geographic data pertaining to the image (e.g.,embedded through use of GPS), tags assigned to the image, etc. Theextractor component 116 may extract an entity based at least in partupon such analyzed data.

An activity generator component 118 can receive the entity extractedfrom the social networking data by the extractor component 116 and canselect an activity to present to the individual 104 on the display 106of the computing device 102 based at least in part on the extractedentity. A data store 120 comprises a plurality of predefined activities122 and the activity generator component 118 can select an activity fromthe plurality of predefined activities 122 based at least in part uponthe entity extracted by the extractor component 116. As will bedescribed in greater detail herein, the activities 122 may include aninvitation to perform a search to acquire additional data pertaining tothe entity extracted by the extractor component 116, an invitation toshop for a product pertaining to the entity extracted by the extractorcomponent 116, an invitation to receive a map of a location extracted bythe extractor component 116, an invitation to search for a particularitem such a plane tickets, an invitation to search for weatherconditions pertaining to an entity, amongst other activities.

In an example, the activities 122 may be automatically orsemi-automatically generated based upon observed actions of users of asearch engine. For example, types of queries in combination with certainterms (entities) can be analyzed to ascertain what activities peopletypically perform with respect to such terms or objects represented bysuch terms. Additionally, how individuals search for information incombination with a city name, a person, a book title, a movie, etc. canbe analyzed, and may be used to determine what activities people areinterested in when they see a type of entity. Furthermore, activities inthe activities 122 may be dynamically altering over time. For instance,a natural disaster may affect a large area, and thus the activity may be“see news about hurricane in _(——————)”.

The activity generator component 118 can comprise a comparer component124 that can compare the entity extracted by the extractor component 116with the activities 122 in the data store 120. For instance, the entityextracted by the extractor component 116 may correspond with a category,a label, etc. and the comparer component 124 can locate activities 122in the data store 120 that have been assigned a substantially similarcategory, label, etc. For example, the social networking data mayinclude the message “It is raining in New York.” The extractor component116 can extract the term “New York” from the message, and can determinea canonical meaning of such term (e.g., the city of New York). Theentity (the city of New York) may be assigned a category of “location”,and the comparer component 124 can compare such category with categoriesof activities. Based at least in part upon the comparison, the comparercomponent 124 can locate activities 122 in the data store thatcorrespond to the entity (e.g., see weather in New York, see restaurantsin New York, find tickets to shows in New York, . . . ).

The activity generator component 118 may further include a contextanalyzer component 126, wherein the context analyzer component 126 canattempt to further refine selection of an activity. For instance, thecontext analyzer component 126 can access the data store 120 and reviewcontextual data 128 retained in the data store 120 and/or may reviewother portions of the social networking data. The contextual data 128may include data pertaining to known or inferred interests of theindividual 104, data pertaining to activities of the individuals 110-112that generated the social networking data, time of day, day of week,amongst other contextual data 128. Furthermore, continuing with theexample provided above, the term “raining” in the social networkingmessage can be reviewed by the context analyzer component 126, and thecontext analyzer component 126 can utilize such term to influenceselection of the activity “see weather in New York.” In an exampleembodiment, the context analyzer component 126 can analyze historicalconversations with respect to the individual 104 and/or the individuals110-112 that generated the social networking data. Of course, type ofdata that can be analyzed may subject to input of individuals (e.g.,data labeled as private by the individual may not be analyzed).Additionally or alternatively, the context analyzer component 126 canaccess search data 130 retained in the data store 120, wherein thesearch data 130 may include data for particular searches undertaken byindividuals, popularity of searches, user feedback pertaining tosearches, etc. Such search data 130 may correspond to one or more of theactivities 122 retained in the data store 120.

A ranker component 132 can receive comparison data generated by thecomparer component 124 and contextual data analyzed by the contextanalyzer component 126 together with other features pertaining to theentity extracted by the extractor component 116 to generate a ranking ofactivities with respect to the entity extracted by the extractorcomponent 116. Features that may be taken into consideration by theranker component 132 may include identity of the poster of the socialnetworking data, application utilized to generate the social messagingdata, an amount of time since the individual 104 has reviewed or beengiven the opportunity to review the social networking data, etc. Ofcourse, the ranker component 132 may take into consideration otherfeatures, including but not limited to current location of theindividual 104, known interests of the individual, amongst other data.

An activity selector component 134 may select one or more of theactivities based at least in part upon the rank of the selectedactivities amongst activities ranked by the ranker component 132. Forinstance, the activity selector component 134 may be configured toselect a most highly ranked activity from the activities 122.

The activity generator component 118 may further include a hyperlinkgenerator component 136, wherein the hyperlink generator component 136is configured to automatically cause a hyperlink that is representativeof the activity selected by the activity selector component 134 to bedisplayed in conjunction with the social networking data. As usedherein, the term “hyperlink” is intended to encompass a textualhyperlink, a button, a list, or other suitable item that can cause anactivity to be performed upon selection of such item by a user. Forinstance, the hyperlink generated by the hyperlink generator component136 can be configured to direct the individual 104 to a search engineupon the hyperlink being selected by the individual 104. Additionally,the hyperlink generated by the hyperlink generator component 136 can beconfigured to cause the search engine to execute a search pertaining tothe activity. The hyperlink generator component 136 can generate thehyperlink using one or more templates 138 that may be retained in thedata store 120. Such templates 138 may be utilized to provide contextpertaining to the activity represented by the hyperlink. Exampletemplates may include templates such as “learn more about _(——————),”“shop for _(——————),” “buy tickets to see _(——————),” “do you know_(——————) about _(——————),” amongst other templates. Therefore, theindividual 104 can ascertain what information or activity will beundertaken prior to selecting the hyperlink generated by the hyperlinkgenerator component 136.

The activity generator component 118 may optionally include anadvertisement selector component 140 that may select an advertisement todisplay in connection with the activity and in conjunction with thesocial networking data that is to be displayed on the computing device102 to the individual 104. The advertisement selector component 140 mayselect an advertisement based at least in part upon, for instance,recommendations given by the poster of the social networking data, theentity extracted by the extractor component 116, contextual data and/orother suitable data.

Pursuant to an example, the extractor component 116 and the activitygenerator component 118 may be implemented as a plug-in to an Internetbrowser. In such a case, when the plug-in detects that the individual104 has logged into the social networking application 108, the socialnetworking data pertaining to such application can be analyzed and thehyperlinks can be generated and selectively placed on the display of thecomputing device 102. In another example, as will be shown in greaterdetail below, the social networking application 108 may be configured totransmit social networking data to the receiver component 114, theextractor component 116 and the activity generator component 118. Oncethe activity has been selected and the hyperlink generated, such datacan be transmitted back to the social networking application 108 fordisplay to the individual 104.

Various examples are now provided herein for illustrative purposes todescribe example utilizations of the system 100. In a first example, theindividual 104 may log in to a social networking application 108,wherein the social networking application 108 is configured to display aplurality of social networking messages to the individual 104. Displayedin conjunction with the social networking messages may be activitiesthat can be selected by the individual 104 to gain additional contextpertaining to the message or perform an activity related to the socialnetworking message that is displayed to the individual. For example, thesocial networking message may be “I had a great time in Yosemite.”Example activities that can be displayed in conjunction with suchmessage may be “learn more about Yosemite,” “provide a map of Yosemite,”“tours of Yosemite,” “lodging in Yosemite,” amongst other activities.The activity shown to the individual 104 may be the activity that isfound by the activity generator component 118 to be the most interestingto the individual 104 given the message and related context.

In another example, the social networking application 108 may be anapplication that is configured to allow individuals to share images withone another. The individual 104 can access a web page where sharedimages can be viewed. At least one of the shared images may have acaption that describes a location of the image (New York, N.Y.). Usingthe system 100 an activity pertaining to such image can be automaticallygenerated based at least in part on such caption (and/or other datapertaining to the image). Such activity may be “restaurants in New York,N.Y.,” “travel to New York,” etc. As represented above, these activitiescan be represented by hyperlinks and the individual 104 can select suchhyperlink to pursue the activity represented by the hyperlink. Otherexamples for utilization of the system 100 will be readily apparent toone skilled in the art.

Referring now to FIG. 2, an example system 200 that facilitatesproviding activities to be displayed in conjunction with socialnetworking data is illustrated. The system 200 includes a server orservers 202 that are utilized in connection with providing a socialnetworking application 204 to Internet users.

The server 202 may thus retain social networking data pertaining to anindividual. An individual 206 can utilize a computing device 208 toaccess the social networking application 204 via the Internet 210. Forinstance, the individual 206 may provide user authentication data to thesocial networking application 204 by way of the Internet 210.

Upon receiving the indication that the individual 206 desires to loginto the social networking application 204, the social networkingapplication 204 can cause social networking data to be transmitted to aseparate server 212 that houses an activity engine 214 (e.g., thereceiver component 114, the extractor component 116, the activitygenerator component 118, and the data store 120 shown in FIG. 1). Theactivity engine 214 can mark up the social networking data as describedabove and then transmit such marked up data back to the socialnetworking application 204 via the Internet 210. When the individual 206views the social networking data on the computing device 208, theindividual 206 will see the activities corresponding to such socialnetworking data. While the activity engine 214 is shown as beingseparate from the social networking application 204, it is to beunderstood that in an example embodiment the social networking 204 maybe configured to include the activity engine 214.

Referring now to FIG. 3, an example system 300 that facilitatesproviding an individual with a social networking message that is relatedto content being viewed by the individual in a browser is illustrated.As will be described below, components of the system 300 operate ondifferent data than what has been described above with respect to thesystem 100 (FIG. 1). Specifically, the extractor component 116 canextract an entity from content of a web page and may also extract anentity from social networking data. The system 300 includes thecomputing device 102 that is utilized by the individual 104 to browsethe Internet. In the example system 300, the individual 104 need not beviewing a web page that corresponds to the social networking application108. Rather, the individual 104 may direct the browser to any suitableweb page that is desirably viewed by the individual 104. One of theindividuals 110-112 may generate a social networking message that isdesirably received by the individual 104 via the social networkingapplication 108.

The extractor component 116 reviews content of the web page being viewedby the individual 104 as well as social networking messages (which mayinclude images) that are intended for the individual 104 via the socialnetworking application 108. As described generally above, the extractorcomponent 116 can extract one or more entities from the web page beingviewed by the individual 104 and can additionally extract one or moreentities from social networking messages intended for the individual 104by way of the social networking application 108. Extraction of entitieswill be described in greater detail below.

If, for example, an entity extracted from the web page viewed by theindividual 104 is sufficiently related to one or more entities extractedfrom messages received via the social networking application 108, suchsocial networking message can be displayed in connection with the webpage content (e.g., in a non-obtrusive manner). Display of socialnetworking messages in connection with related web page content beingviewed by an individual is described in U.S. patent application Ser. No.12/614,457, entitled “Social Browsing”, and filed on Nov. 9, 2009, theentirety of which is incorporated herein by reference.

If it is determined that a social networking message is desirablydisplayed in conjunction with the web page being viewed by theindividual 104, then the activity generator component 118 can act asdescribed above to display an activity in conjunction with the socialnetworking message displayed to the individual 104 on the display 106.In an example, the comparer component 124 can compare an entityextracted from the web page content with one or more predefinedactivities and can output an indication of how closely related suchentity is to the one or more predefined activities. The context analyzercomponent 126 can analyze context corresponding to the web page and theranker component 132 can rank activities based at least in part upon thecomparison undertaken by the comparer component and the context analyzedby the context analyzer component 126. Thereafter, the activity selectorcomponent 134 can select an activity based at least in part upon therank of activities as output by the ranker component 132. The hyperlinkgenerator component 136 can generate a hyperlink that can be used torepresent the activity selected by the activity selector component 134.

Additionally or alternatively, the activity generator component 118 cananalyze one or more entities extracted from the social networkingmessage that is desirably displayed in conjunction with the content ofthe web page. That is, the comparer component 124 can compare one ormore entities extracted from the social networking messages with one ormore predefined activities. Further, the context analyzer component 126can analyze context pertaining to the social networking message such ashistorical conversations between the sender and the recipient of themessage. Based at least in part upon the comparison undertaken by thecomparer component 124 and the context analyzed by the context analyzercomponent 126, the ranker component 132 can output a ranking ofactivities with respect to the social networking message in generaland/or the extracted entity in particular. The activity selectorcomponent 134 may then select an activity that is desirably provided tothe individual 104 based at least in part upon the ranking output by theranker component 132. Thereafter, the hyperlink generator component 136can represent the activity through use of a hyperlink as describedabove. Furthermore, the advertisement selector component 138 mayoptionally select an advertisement to be displayed to the individual 104in conjunction with the social networking message and/or the selectedactivity.

Now referring to FIG. 4, an example system 400 that facilitatesproviding activities with respect to images shared with the individual104 is illustrated. The system 400 comprises a data store 402 thatretains a plurality of images 404 that are desirably shared with theindividual 104. For instance, the individual 104 may be a member of aphoto sharing social networking application and contacts of theindividual 104 can share such images 404 with the individual 104. Inanother example, the shared images 404 may be images provided via aconventional social networking web site, wherein the images correspondor are provided by contacts of the individual 104 as defined in thesocial networking application.

A collage generator component 406 can have access to the shared images404 and can generate a collage of images that comprise at least a subsetof the shared images 404. The collage generator component 406 may selectimages to include in the collage based upon any suitable metricsincluding recency of the images, whether the individual 104 haspreviously reviewed the images, how often the individual 104 views suchimages, location pertaining to the images 404, etc.

The extractor component 116 can be configured to extract at least oneentity from one or more of the images selected to be included in thecollage by the collage generator component 406. In an example, theextractor component 116 can analyze captions provided to images byowners of the images, metadata corresponding to the images (such as tagsassigned to the images by viewers of such images), location datapertaining to the images (e.g., provided by GPS included in a cameraused to capture the images), an image signature extracted from one ormore images (e.g., a signature that indicates that the photographpertains to a certain object or geographic region, etc.), and/or thelike, and can extract an entity based at least in part upon suchfeatures. Once the extractor component 116 has extracted an entity withrespect to an image, the comparer component 124, the activity generatorcomponent 118, the context analyzer component 126, the ranker component132, and the activity selector component 134 can operate as describedabove.

The hyperlink generator component 136 may generate a hyperlink that isrepresentative of the activity and associate such hyperlink with theimage in the collage generated by the collage generator component 406.In an example, the hyperlink may be the image itself or a portion of theimage. In another example, the hyperlink may be hidden until theindividual 104 selects the image, in which case the hyperlink may bedisplayed as an inline popup (and may be displayed with other datapertaining to the image). The individual 104 may then select thehyperlink which can cause a search engine to undertake a searchpertaining to the activity, such as locating additional informationpertaining to the entity extracted from the image by the extractorcomponent 116, locating items available for purchase that pertain to theentity extracted by the extractor component 116, or the like.Additionally or alternatively, the advertisement selector component 138can optionally select an advertisement to be displayed in conjunctionwith the image.

The collage generated by the collage generator component 406 may be usedas a home page for the individual 104 such that then the individual 104logs in to a browser, such collage of images is provided to theindividual 104. In another example, the collage of images may be acustomized search engine page such that when the individual 104 accessesa particular search engine, the collage of images is provided to suchindividual 104. The individual 104 may then choose to cause the searchengine to execute a search based upon a query or may cause the searchengine to perform an activity pertaining to a hyperlink displayed inconjunction with one or more of the images in the collage.

Now referring to FIG. 5, an example system 500 that facilitatesextracting an entity from social networking data (e.g., a socialnetworking message or shared image) is illustrated. The extractorcomponent 116 receives social networking data, for example, from asocial networking application. The extractor component 116 comprises akeyword extractor component 502 that can extract a keyword from thesocial networking data. The system 500 additionally includes a datastore 504 that comprises a term frequency list 506, a stop list 508 anda trained dictionary 510. The keyword extractor component 502 can accessthe term frequency list 506 when choosing a keyword to extract from thesocial networking data. The term frequency list 506 may include dataindicative of how often certain terms occur. The frequency of use may befrequency of use of terms in search queries, frequency of use of termson certain types of web pages, etc. If the term is relatively common,then the keyword extractor component 502 can choose not to extract aparticular term (e.g., “the,” “and,” etc.). The keyword extractorcomponent 502 may also access the stop list 508 when determining whetherto extract a particular keyword. The stop list may include words thatare desirably not extracted by the keyword extractor component 502.

The extractor component 116 may additionally comprise a filter component512 that filters out social networking messaging data that is profane,for example. Thus, the filter component 512 can search for keywords orcombinations of words that may in some way be offensive to theindividual 104. If a message is deemed to be profane, it may not bedisplayed to the individual 104.

Once a keyword has been extracted, the extractor component 116 cananalyze the keyword and context associated with such keyword and accessthe trained dictionary 510 to disambiguate between meanings of a keywordand ascertain a canonical meaning pertaining to the extracted keyword.In an example, this allows the extractor component 116 to disambiguatebetween the state of Washington, Washington, D.C. and George Washington.Additionally, the extractor component 116 can determine a canonicalmeaning of the term “Washington”, which may be “President Washington.”The extractor component 116 can utilize any suitable extractiontechnique together with, or as an alternative to, the extractiontechnique described herein and any such extraction is contemplated bythe inventors and intended to fall under the scope of thehereto-appended claims.

Referring now to FIG. 6, an example graphical user interface 600 isdepicted. The graphical user interface 600 may include an image 602 thatcan identify a sender of social networking data which may be a message,a photograph, video, or other suitable data. For example, the image 602may be an image of the sender, an avatar that identifies the sender,etc. The graphical user interface 600 may also comprise a title 604which can be a title assigned by the sender of the social networkingdata to such social networking data. In another example, the title 604may be automatically assigned through use of keyword extraction. Instill yet another example there may be no title. The graphical userinterface 600 also comprises message content 606 which can be text,images, video, a combination of text, video and images, etc. An activity608 can be shown in conjunction with the message content 606, whereinthe activity may be in the form or represented as a hyperlink. Theviewer of the message content 606 may select the hyperlink thatrepresents the activity 608 and selection of such hyperlink may cause asearch engine to perform a particular task that is associated with theactivity 608. The graphical user interface may additionally include anadvertisement 610. In an example, the advertisement 610 may be anadvertisement that is approved by the sender of the social networkingdata such that the viewer can trust that the advertisement is for aproduct or service the individual may like. In another example, theadvertisement 610 may be placed based upon keywords in the messagecontent 606 or other suitable mechanisms.

As indicated above, providing the activity 608 with the message content606 can provide additional context pertaining to the message content 606to the viewer of the social networking data. Oftentimes, messagestransmitted via social networking applications are relatively short.Thus, the activity 608 may be used to provide the viewer with additionalcontext pertaining to the message content 606. For example, the activity608 may be “learn more about xxxx” wherein xxxx is an entity extractedfrom the message content 606.

With reference now to FIG. 7, an example graphical user interface 700 isillustrated. In this example, the graphical user interface 700 comprisesan image 702 that is shared with an individual by a contact thereof.Such image 702 may have a caption assigned thereto, may have metadatacorresponding thereto, tags assigned thereto, etc. In this example, anindividual can select the image 702 through utilization of a mousepointer 704. For instance, the individual may use the mouse pointer 704to select the image 702 with a left click, a right click, etc. Inanother example, the individual may use the mouse pointer 704 to hoverover the image 702 for a particular amount of time. Once the individualhas selected the image 702, an inline popup 706, for instance, may bepresented in conjunction with the image 702. The inline popup 706 mayinclude data pertaining to an image (e.g., retrieved from a particularweb site corresponding to the image). Additionally, the inline popup 706may include an activity 708 which can be selected as described above. Asindicated above, the activity 708 may be represented as a hyperlink, theselection of which directs the individual to a search engine whichexecutes a task pertaining to the activity. In another example, ratherthan displaying the activity in an inline popup 706, the activity may bedisplayed below the image 702, beside the image 702 or in some otherplace that does not obstruct the view of the individual with respect tothe image 702. Still further, the activity 708 may be displayed withoutrequiring the individual to select the image 702.

With reference now to FIG. 8, an example collage of shared images thatis provided to the individual as a customized search engine home page isillustrated. The graphical user interface 800 can comprise a pluralityof images 802-818. The graphical user interface 800 may further comprisea search field 820, wherein the individual can enter text that causes asearch engine to execute a search. A button 822 corresponds to thesearch field such that the individual can select the button 822 toinitiate the search for a query entered into the search field 820.

Each of the images 802-818 displayed to the individual can be imagesshared with such individual by for instance, contacts of the individualon a social networking application. Thus, if there are a sufficientnumber of images, each time the individual accesses the search enginethe individual may be provided with a different collection orarrangement of images.

The individual may utilize a pointer 824 to select one of the images802-818. In the example depicted in FIG. 8, the pointer 824 is utilizedto select the image 816. Upon the individual selecting such image 816,the individual can cause the search engine to execute a searchpertaining to an entity extracted from such image 816. For example, theimage 816 itself or a portion thereof can act as a hyperlink. In anotherexample, selection of the image 816 can cause an inline popup to bedisplayed to the individual, where the inline popup may depict detailspertaining to the image 816 as well as an activity that pertains to anentity extracted from the image 816.

With reference now to FIG. 9, an example graphical user interface 900that illustrates entities in the content of a web page that have socialnetworking messages related thereto, is depicted. The graphical userinterface 900 may comprise text that is indicative of a title of anarticle, an image corresponding to the article and text of the article.As can be ascertained, entities 902, 904, 906 and 908 have beenextracted from the content of the web page and have been found to havesocial networking messages relating thereto, wherein the socialnetworking messages can be posted to a social networking application bya member of the social network of the individual viewing the web page.In another example, the individual may wish to receive updates from thegeneral public with respect to a particular topic via a socialnetworking application. For instance, a member of the general public maywrite a comment about a particular location and the individual may wishto receive comments pertaining to such location. In this example, theposter of the message is not in the social network of the individual butthe individual still desires to receive such information.

As can be seen in this example figure, text is bolded and underlined toindicate that a social networking message is related to suchunderline/bolded text. There are, of course, other manners forhighlighting content of the web page including altering color oftext/images, causing a box to be displayed around entities, etc.Additionally it can be ascertained that there is nothing obstructing theentity/text from view of the individual. Thus, if the individual doesnot care to view social networking messages, the individual can readover the content of the web page.

Now referring to FIG. 10, an example graphical user interface 1000 thatdisplays a social networking message upon selection of a highlightedentity is illustrated. As can be ascertained, the highlighted entity 906is selected by an individual through an input gesture of the individualsuch as the utilization of a mouse pointer 1002. As described above,selection through use of the mouse pointer 1002 can be a left click, aright click, a center button click, a hover over the highlighted entity906 for a certain period of time, etc. Once it is ascertained that theindividual has selected the highlighted entity 906, a correspondingsocial networking message that was found to be related to thehighlighted entity 906 is presented to the individual. Other socialnetworking messages may be presented to the individual if the individualselects other highlighted entities in the web page.

As shown in FIG. 10, the social networking message 1004 may be presentedto the individual as an inline popup that may at least partly obstructcontents of the web page. In another example, the social networkingmessage 1004 may be displayed in a toolbar of a browser, such that nocontent of the web page is obstructed. In yet another example, thesocial networking message 1004 may be displayed in a side bar. Of courseother manners for displaying a social networking message in conjunctionwith content of a web page that relates to the social networkingmessages are contemplated and are intended to fall under the scope ofthe hereto appended claims.

With reference now to FIGS. 11-13, various example methodologies areillustrated and described. While the methodologies are described asbeing a series of acts that are performed in a sequence, it is to beunderstood that the methodologies are not limited by the order of thesequence. For instance, some acts may occur in a different order thanwhat is described herein. In addition, an act may occur concurrentlywith another act. Furthermore, in some instances, not all acts may berequired to implement a methodology described herein.

Moreover, the acts described herein may be computer-executableinstructions that can be implemented by one or more processors and/orstored on a computer-readable medium or media. The computer-executableinstructions may include a routine, a sub-routine, programs, a thread ofexecution, and/or the like. Still further, results of acts of themethodologies may be stored in a computer-readable medium, displayed ona display device, and/or the like.

Referring now to FIG. 11, a methodology 1100 that facilitatesautomatically causing an activity to be displayed in conjunction with asocial networking message is illustrated. The methodology 1100 starts at1102, and at 1104 data from a social networking application is received,wherein the data can be generated by a first individual. In an example,the first individual may be a contact of an intended recipient of thesocial networking data. Furthermore, as described above, the socialnetworking data may be text, an image, a combination of text and imageor other suitable data that can be shared via a social networkingapplication.

At 1106, an entity extraction algorithm is executed to extract at leastone entity from the received social networking data. At 1108, anactivity is automatically selected from amongst a predefined list ofactivities for display to a viewer of the social networking data. Theactivity can be selected based at least in part upon the at least oneentity extracted via the extraction algorithm at 1106. As indicatedabove, the activity can be selected based at least in part upon acomparison of the at least one entity extracted at 1106 and datapertaining to the activities in the predefined list of activities. Forexample, the entity may correspond to a certain category and an activitycan be selected from the predefined list of activities based at least inpart upon a comparison between such category and a category pertainingto the activity.

In a particular example, the activity can be displayed to the individualby automatically causing a hyperlink to be displayed on a computingdevice utilized by the viewer of the social networking data, wherein thehyperlink is representative of the activity. The hyperlink can beconfigured to direct the viewer of the social networking data to asearch engine and may be further configured to cause a search engine toexecute a search that pertains to the activity (and thus pertains to theat least one entity extracted at 1106). The methodology completes at1110.

With reference now to FIG. 12, an example methodology 1200 thatfacilitates displaying a plurality of photographs in the form of acollage is illustrated. The methodology 1200 starts at 1202, and at 1204authentication data is received with respect to an individual. Thisauthentication data may be, for instance, a user name and password orother suitable authentication data.

At 1206, a plurality of photographs shared by social networking contactsof the individual are retrieved. Such a plurality of photographs may beselected based upon any suitable criteria as described above.

At 1208, at least one entity is extracted from each of the photographsin the plurality of photographs retrieved at 1206. The entity may beextracted based at least in part upon captions assigned to photographs,location data pertaining to photographs, tags assigned to photographs,etc.

At 1210, an activity is selected for each of the photographs in theplurality of photographs based at least in part upon the respectiveentities extracted from such photographs. Accordingly, differentphotographs can have different activities selected therefor.

At 1212, the plurality of photographs are caused to be displayed as acollage. An activity corresponding to a photograph can be initiated uponthe individual selecting the photograph in the collage. For example,selecting the photograph may cause the individual to be directed to asearch engine and a search can automatically be performed. In anotherexample, selection of the photograph may include hovering over suchphotograph, which may cause an inline popup to be displayed, wherein theinline popup comprises data pertaining to the photograph and/or ahyperlink representative of the activity selected for such photograph.The methodology in 1200 completes at 1214.

Referring now to FIG. 13, a methodology 1300 that facilitates causing asocial networking message to be displayed in conjunction with content ofan arbitrary web page is illustrated. The methodology 1300 begins at1302, and at 1304 content of an arbitrary web page being viewed by anindividual is reviewed/analyzed. At 1306, a keyword is extracted fromthe arbitrary web page. As described above, the keyword can be extractedthrough utilization of term frequency information and/or a stop list.

At 1308, a meaning of the keyword is ascertained based at least in parton context pertaining to the keyword. For example, a trained dictionarycan be accessed and utilized to ascertain the meaning of the extractedkeyword. As indicated above, the keyword and corresponding meaning canbe referred to as an entity. At 1310, a message is received from asocial networking application, wherein the message is from a member of asocial networking of the individual and is intended to be transmitted tothe individual from the poster of the message. The message can bereceived prior to the individual reviewing the web page or during thetime that the individual is reviewing the web page. While not shown inthe methodology 1300, one or more entities can also be extracted fromthe received social networking message.

At 1312, an entity extracted from the social networking message iscompared with the entity extracted from the web page. At 1314, themessage is caused to be displayed in conjunction with the web page basedat least in part upon the comparison undertaken at 1312. The methodology1300 completes at 1316.

Now referring to FIG. 14, a high-level illustration of an examplecomputing device 1400 that can be used in accordance with the systemsand methodologies disclosed herein is illustrated. For instance, thecomputing device 1400 may be used in a system that supportsautomatically selecting an activity for presentation to a user to bedisplayed in conjunction with social networking data. In anotherexample, at least a portion of the computing device 1400 may be used ina system that supports provision of a photo collage to an individual.The computing device 1400 includes at least one processor 1402 thatexecutes instructions that are stored in a memory 1404. The instructionsmay be, for instance, instructions for implementing functionalitydescribed as being carried out by one or more components discussed aboveor instructions for implementing one or more of the methods describedabove. The processor 1402 may access the memory 1404 by way of a systembus 1406. In addition to storing executable instructions, the memory1404 may also store predefined activities, social networking messages,images, etc.

The computing device 1400 additionally includes a data store 1408 thatis accessible by the processor 1402 by way of the system bus 1406. Thedata store 1408 may include executable instructions, predefinedactivities, templates used in connection with representing activities,etc. The computing device 1400 also includes an input interface 1410that allows external devices to communicate with the computing device1400. For instance, the input interface 1410 may be used to receiveinstructions from an external computer device, for an individual, etc.The computing device 1400 also includes an output interface 1412 thatinterfaces the computing device 1400 with one or more external devices.For example, the computing device 1400 may display text, images, etc. byway of the output interface 1412.

Additionally, while illustrated as a single system, it is to beunderstood that the computing device 1400 may be a distributed system.Thus, for instance, several devices may be in communication by way of anetwork connection and may collectively perform tasks described as beingperformed by the computing device 1400.

As used herein, the terms “component” and “system” are intended toencompass hardware, software, or a combination of hardware and software.Thus, for example, a system or component may be a process, a processexecuting on a processor, or a processor. Additionally, a component orsystem may be localized on a single device or distributed across severaldevices.

It is noted that several examples have been provided for purposes ofexplanation. These examples are not to be construed as limiting thehereto-appended claims. Additionally, it may be recognized that theexamples provided herein may be permutated while still falling under thescope of the claims.

What is claimed is:
 1. A method comprising the followingcomputer-executable acts: at a computing system that comprises a servercomputing device that is in network communication with a clientcomputing device of a user: receiving social networking data of a user,the social networking data comprises text; extracting an entity from thetext of the social networking data of the user, the entity comprising akeyword and a disambiguated canonical meaning of the keyword;identifying an activity from amongst a plurality of predefinedactivities based upon the entity extracted from the social networkingdata of the user, the activity performable with respect to the entity;transmitting information that is indicative of the identified activityto the client computing device of the user, the information transmittedfor presentment to the user by way of an output interface of the clientcomputing device; and performing at least one computing operation inresponse to receipt of an indication that the user, by way of an inputinterface of the client computing device, has instructed the computingsystem to pursue the identified activity with respect to the entity. 2.The method of claim 1, the activity related to acquisition ofinformation about the entity, the at least one computing operation beingexecution of a search to acquire the information, the method furthercomprising causing the information to be presented to the user at theclient computing device.
 3. The method of claim 1, wherein performingthe at least one computing operation comprises: causing a search engineto execute a search for the entity; and transmitting information basedupon the search to the client computing device of the user.
 4. Themethod of claim 1, the output interface being a display of the computingdevice, wherein transmitting the indication that is indicative of theactivity to the computing device of the user comprises transmitting ahyperlink for presentment on the display, and wherein performing the atleast one computing operation comprises performing the at least onecomputing operation in response to receipt of an indication that theuser has selected the hyperlink.
 5. The method of claim 1, furthercomprising: generating the plurality of possible activities based uponqueries previously submitted to a search engine, the queries comprisethe keyword.
 6. The method of claim 1, wherein transmitting theinformation that is indicative of the activity to the client computingdevice of the user comprises causing a hyperlink to be displayed on adisplay of the client computing device together with the socialnetworking data when the user logs into a social networking applicationto view the social networking data on the client computing device. 7.The method of claim 1, wherein receiving the social networking data ofthe user comprises accessing the social networking data from a socialnetworking application, the social networking data is a status messageupdate posted to the social networking application by a second user,wherein the second user is a contact of the user in the socialnetworking application.
 8. The method of claim 1, wherein extracting theentity from the social networking data of the user comprises: extractingthe keyword from the social networking data; and determining thecanonical meaning of the keyword based upon a context in which thekeyword appears in the social networking data.
 9. The method of claim 1,the entity is a geographic location, and wherein performing the at leastone computing operation comprises transmitting data to the clientcomputing device of the user that causes a map pertaining to thegeographic location to be presented on a display of the client computingdevice.
 10. The method of claim 1, wherein identifying the activity fromamongst the plurality of predefined activities based upon the entityextracted from the social networking data of the user comprises:identifying the activity from amongst the plurality of possibleactivities based upon known or inferred interests of the user.
 11. Acomputing system comprising: at least one processor; and memory thatstores instructions that are executed by the at least one processor, theinstructions, when executed by the at least one processor, cause the atleast one processor to perform acts comprising: receiving socialnetworking data of a user, the social networking data of the usercomprises text; identifying an activity from amongst a plurality ofpredefined activities based upon an entity extracted from the text ofthe social networking data of the user, the entity comprising a keywordin the social networking data of the user and a disambiguated canonicalmeaning of the keyword; and causing information that is indicative ofthe identified activity to be transmitted to a client computing deviceof the user for presentment to the user by way of an output interface ofthe client computing device, the activity performable with respect tothe entity; and in response to receipt of an indication from the clientcomputing device that the user, by way of an input interface of theclient computing device, has instructed the computing system to performthe identified activity, performing at least one computing operationthat pertains to the identified activity.
 12. The computing system ofclaim 11, wherein performing the at least one computing operationcomprises executing a search based upon the entity extracted from thesocial networking data of the user.
 13. The computing system of claim11, wherein identifying the activity from amongst the plurality ofpredefined activities comprises: ranking the plurality of predefinedactivities based upon the entity extracted from the social networkingdata of the user; and identifying the activity based upon the ranking ofthe plurality of predefined activities, the identified activity beingthe most highly ranked amongst the plurality of predefined activities.14. The computing system of claim 11, wherein identifying the activityfrom amongst the plurality of predefined activities comprises: comparinga category assigned to the entity extracted from the social networkingdata of the user with a category assigned to the activity; andidentifying the activity based upon the category assigned to the entitymatching the category assigned to the identified activity.
 15. Thecomputing system of claim 11, wherein causing the information that isindicative of the identified activity to be transmitted to the clientcomputing device of the user comprises causing a hyperlink to bepresented on a display of the client computing device, the hyperlinkrepresentative of the identified activity, the acts further comprising:performing the at least one computing operation that pertains to theidentified activity in response to receiving an indication that the userhas selected the hyperlink on the display of the client computingdevice.
 16. The computing system of claim 15, wherein the socialnetworking data is a message generated by a second user by way of asocial networking application, the user and the second user are contactsin the social networking application, and the message accessible to theuser by way of the social networking application.
 17. The computingsystem of claim 16, wherein causing the information that is indicativeof the identified activity to be transmitted to the client computingdevice of the user comprises causing the hyperlink to be presented withthe message when the message is accessed by the user by way of thesocial networking application.
 18. The computing system of claim 11, theinformation that is indicative of the identified activity being atemplate phrase that is populated with the entity.
 19. The computingsystem of claim 11, the acts further comprising: extracting the entityfrom the social networking data of the user, wherein extracting theentity comprises: extracting the keyword from the text of the socialnetworking data of the user; and identifying the canonical meaning ofthe keyword based upon at least one of a known interest of the user orcontext in which the keyword appears in the social networking data. 20.A computer-readable medium comprising computer-executable instructionsthat, when executed by at least one processor, cause the at least oneprocessor to perform acts comprising: based upon an entity extractedfrom a social networking message posted by a contact of a user in asocial networking application, identifying an activity from amongst aplurality of predefined activities, the activity relates to acquisitionof information about the entity, the entity being a keyword in thesocial networking message and a canonical meaning of the keyword; inresponse to receipt of an indication from a client computing device ofthe user that the user, by way of an input interface on the clientcomputing device, has instructed the at least one processor to performthe activity, executing a search for the entity to acquire theinformation; and causing the information to be transmitted to the clientcomputing device of the user for presentment to the user by way of anoutput interface of the computing device.
 21. A computing deviceconfigured to be in network communication with a remote computingsystem, the computing device comprising: a processor; and memory storinginstructions that, when executed by the processor, cause the processorto perform acts comprising: displaying, in a graphical user interfaceand on a display of the computing device, a social media message of auser of the computing device, the social media message including akeyword, wherein the remote computing system has identified an entitybased upon the keyword and other content of the social media message,wherein the entity comprises the keyword and a disambiguated canonicalmeaning of the keyword; displaying, in the graphical user interface, aplurality of selectable graphical items that are respectivelyrepresentative of a plurality of different activities that areperformable with respect to the entity; receiving, from the userinterface of the computing device, an indication that a selectablegraphical item in the plurality of selectable graphical items has beenselected; and responsive to receiving the indication, initiatingperformance of an activity represented by the selected graphical item.22. The computing device of claim 21, wherein the activity isperformance of a search for the entity by a search engine.
 23. Thecomputing device of claim 21, wherein the entity is a location, andfurther wherein the activity is presentment of a map of the location onthe display of the computing device.
 24. The computing device of claim21, wherein the selectable graphical items are buttons.
 25. Thecomputing device of claim 21, wherein the activity is presentment ofnews items about the entity on the display of the computing device.